import React, { Component, createRef } from 'react';
import Son from './Son';

// 实现子传父
// 方式1: 在父组件中定义一个函数, 该函数接收一个形参, 然后通过props 将该函数传递给子组件, 在子组件中接收函数并调用
// 将子组件中的数据通过实参传递过去, 这样父组件就获取到了该子组件中的数据啦

// 方式2: 在子组件中定义一个函数, 该函数返回子组件中的数据,然后在父组件中通过ref 获取子组件的实例,进而调用
// 子组件中的该函数, 从而在父组件中获取子组件中的数据

class Father extends Component {
    ref1 = createRef()
    render() {
        return (
            <div>
                {/* <Son fun={this.getstatefromson}></Son> */}
                <Son ref={this.ref1}></Son>
            </div>
        );
    };
    getstatefromson(data) {
        console.log('data', data);
    };
    componentDidMount() {
        // 调用子组件上的方法
        console.log('获取子组件中的数据', this.ref1.current.getstatetofatherFn())
    }
}

export default Father;
